Heretofore, there has been provided a Web service system, which provides a service by a server apparatus connected to a network, and combines a variety of Web services on a client apparatus, thus making it possible to construct software. In the Web service system, the client apparatus transmits, to the server apparatus, a SOAP (Simple Object Access Protocol) request message including an XML (Extensible Markup Language) document describing arguments to be given to the Web services, and requests processing for the Web services. Upon receiving the SOAP request message, the server apparatus performs the processing for the Web services, and returns, to the client apparatus, a SOAP response message including an XML document describing return values of the Web services. According to the Web service system, the variety of web services provided by service providers on an Internet are combined, thus making it possible to develop the software efficiently. Moreover, a distributed system in which information systems of a plurality of enterprises are associated with one another can be constructed.
A general server apparatus which provides the Web services includes a streaming syntax analyzer which performs an analysis of syntax of the SOAP request message, and a request processing unit which performs the processing for the Web services based on a result of the syntax analysis. Then, the request processing unit includes a message conversion unit which creates an input object such as a Java object including parameters to be given to the Web  services based on the result of the syntax analysis and converts an output object such as a Java object including the return values of the Web services into the SOAP response message, and an application processing unit which performs processing for a server application based on the input object received from the message conversion unit and returns a result of the processing as the output object to the message conversion unit.
The following documents are considered:                [Patent Document 1] Japanese Patent Laid-Open Publication No. 2003-271441        [Non-Patent Document 1] Brian D. Goodman, “Accelerate your web services with caching,” [online], Dec. 1, 2002, International Business Machines, [retrieved on Jan. 27, 2004 from the Internet]        [Non-Patent Document 2] Bob Atkinson et al., “Web Services Security (WS-Security),” [online], May 23, 2002, International Business Machines, [retrieved on Jan. 27, 2004 from the Internet]        
In order to reduce response time of the above-described server apparatus, caching technologies shown in Patent Document 1 and Non-Patent Document 1 are disclosed.
Patent Document 1 discloses a server apparatus having a cache mechanism provided in front of the streaming syntax analyzer in the above-described general server apparatus. In this server apparatus, the cache mechanism first analyzes a SOAP request message received and determines whether or not a corresponding SOAP response message is cashed. Thereafter, if the corresponding SOAP response message is cached, the cache mechanism returns the cached SOAP response message. Meanwhile, if the corresponding SOAP response message is not cached, the cache mechanism sends the SOAP request message to the streaming syntax analyzer and allows the streaming syntax analyzer and a server application processing unit to perform processing.
Non-Patent Document 1 discloses a method for providing a cache mechanism between the message conversion unit and the application processing unit in the request processing unit in the above-described general server apparatus. In this method, the streaming syntax analyzer analyzes a SOAP request message received, and the message conversion unit creates an input object based on a result of the syntax analysis. Next, the cache mechanism determines whether or not an output object corresponding to the input object is cached. Thereafter, if the corresponding output object is cached, the cache mechanism allows the message conversion unit to convert the cached output object into a SOAP response message and to return the message. Meanwhile, if the corresponding output object is not cached, the cache mechanism sends the input object to the server application processing unit to perform processing for Web services.
In the cache method of Patent Document 1, the cache mechanism is provided before the processing of the streaming syntax analyzer and after. Accordingly, there is an advantage that response time at the time of a cache hit is shorter as compared with that of Non-Patent Document 1. Meanwhile, the cache mechanism analyzes the SOAP request message to some extent for the purpose of determining whether the cache is hit or missed. When the cache is missed, the cache mechanism sends the SOAP request message to the request processing unit. Accordingly, the analysis in the cache mechanism becomes useless, and the response time is increased.
In the cache method of Non-Patent Document 2, the cache mechanism caches output objects corresponding to input objects created by the streaming syntax analyzer and the message conversion unit. Therefore, it is not necessary to analyze the SOAP request message only for the purpose of determining whether the cache is hit or missed, thus making it possible to control an increase of the response time when the cache is missed. Meanwhile, it is necessary to create the input objects also when the cache is hit, and accordingly, the response time becomes longer as compared with that of the cache method of Patent Document 1.